package com.csun.dsms.mapper;

import com.csun.dsms.model.domain.DsmsMenu;
import com.csun.dsms.model.dto.menu.MenuQueryDto;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

public interface DsmsMenuMapper extends Mapper<DsmsMenu> {

    /**
     * 查询菜单列表
     *
     * @param menuQuery the menu query
     *
     * @return  the dsms menu list.
     */
    List<DsmsMenu> selectMenuList(DsmsMenu menuQuery);

    /**
     * 查询菜单及下面所有子菜单
     *
     * @param menuQueryDto  the menu query dto
     *
     * @return  the dsms menu list.
     */
    List<DsmsMenu> queryMenuAndSubMenuListWithPage(MenuQueryDto menuQueryDto);

    /**
     * Select menu child count by pid int.
     *
     * @param pid the pid
     *
     * @return the int
     */
    int selectMenuChildCountByPid(Long pid);

    /**
     * Gets checked menu list.
     *
     * @param roleId the role id
     *
     * @return the checked menu list
     */
    List<Long> getCheckedMenuList(Long roleId);

    /**
     * 查询菜单列表
     *
     * @param menuQueryDto	the menu query dto
     *
     * @return	the list.
     */
    List<DsmsMenu> queryMenuList(MenuQueryDto menuQueryDto);
}